import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
from imp import reload
import h5py
import sys
import deltascope as cranium
import deltascope.alignment as ut
at = ".\\data\\24hpf\\AT\\Prob"
gfap = ".\\data\\24hpf\\Gfap\\Prob"
outdir = ".\\data\\24hpf\\Output-02-15-2019"
os.mkdir(outdir)
Dat = {}
for f in os.listdir(at):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dat[num] = os.path.join(at,f)
Dzrf = {}
for f in os.listdir(gfap):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dzrf[num] = os.path.join(gfap,f)
Dat.keys()
Dbat = {}
Dbzrf={}
klist = Dat.keys()
param = {
'gthresh':0.5,
'scale':[1,1,1],
'microns':[0.16,0.16,0.21],
'mthresh':0.8,
'radius':10,
'comp_order':[0,2,1],
'fit_dim':['x','z'],
'deg':2
}
for k in klist:
try:
Dbat[k] = ut.preprocess(Dat[k],param)
Dbzrf[k] = ut.preprocess(Dzrf[k],param,pca=Dbat[k].pcamed,mm=Dbat[k].mm,vertex=Dbat[k].vertex)
print(k)
except:
print(k,'failed')
e = sys.exc_info()
print(e)
def start(k):
return(ut.start(k,Dbat,[Dbzrf],im=False))
def save_at(k,df):
ut.save_at(k,df,outdir,'24hpf')
def save_both(k,dfa,dfb):
ut.save_both(k,dfa,dfb,outdir,'24hpf')
def fit_model(axi,df,mm=None):
if mm == None:
mm = np.polyfit(df.x,df.z,2)
p = np.poly1d(mm)
xrange = np.arange(np.min(df.x),np.max(df.x))
axi.plot(xrange,p(xrange),c='m')
return(mm)
model = pd.DataFrame({'a':[],'b':[],'c':[]})
def save_model(k,mm,model):
row = pd.Series({'a':mm[0],'b':mm[1],'c':mm[2]},name=k)
model = model.append(row)
return(model)
def pick_pts(x1,z1,vx,vz,x2,z2):
pts = pd.DataFrame({'x':[x1,vx,x2],'z':[z1,vz,z2]})
return(pts)
klist
k,df,Ldf,ax = start('7')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = 36
pts.iloc[1].z = 22
ax[0,1].scatter(pts.x,pts.z,c='y')
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,p,ax = ut.check_yz(df2,Ldf2)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3)
pts = pick_pts(-42,27,0,-4,40,27)
ax = ut.make_graph([df4]+Ldf4)
ax[0,1].scatter(pts.x,pts.z,c='m',s=40)
df5,Ldf5,mm,ax = ut.ch_vertex(df4,Ldf4,pts=pts)
save_both(k,df5,Ldf5[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('26')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = 18
pts.iloc[1].z = 2
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,pts,ax = ut.check_pts(df2,Ldf2,'y')
pts.iloc[1].x = 16
pts.iloc[1].y = -1
pts.iloc[0].y = 18
ax[0,0].scatter(pts.x,pts.y,c='y')
pts
df4,Ldf4,ax = ut.revise_pts(df2,Ldf2,'y',pts=pts)
df5,Ldf5,p,ax = ut.check_yz(df4,Ldf4)
p2 = np.poly1d([2/5,0])
xrange = np.arange(-20,20)
p[0,2].plot(xrange,p2(xrange),c='c')
df6,Ldf6,ax,p = ut.check_yz(df4,Ldf4,mm=[2/5,0])
df7,Ldf7,mm,ax = ut.ch_vertex(df6,Ldf6)
pts = pick_pts(-40,20,0,-8,40,20)
ax[0,1].scatter(pts.x,pts.z,c='m',s=40)
df8,Ldf8,mm,ax = ut.ch_vertex(df7,Ldf7,pts=pts)
save_both(k,df8,Ldf8[0])
model = save_model(k,mm,model)
model = model.iloc[-2:]
model
Dbat['9'] = ut.preprocess(os.path.join(at,'AT_24hpf_9_Probabilities.h5'),param,stop='df_thresh')
Dbzrf['9'] = ut.preprocess(os.path.join(gfap,'Gfap_24hpf_9_Probabilities.h5'),param,stop='df_thresh')
k = '9'
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
save_both(k,df1,Ldf1[0])
model = save_model(k,mm,model)
model
k,df,Ldf,ax = start('5')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
pts = pick_pts(-55,22,0,-8,58,20)
ax[0,1].scatter(pts.x,pts.z,s=50,c='m')
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
model
k = '1'
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
pts = pick_pts(-55,20,-6,-20,35,20)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
model
k,df,Ldf,ax = start('21')
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
mm = [3/5,0]
p = np.poly1d(mm)
xrange = np.arange(-10,30)
ax[0,2].plot(xrange,p(xrange),c='y')
df2,Ldf2,ax,p = ut.check_yz(df,Ldf,mm=mm)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
pts = pick_pts(-48,24,0,-6,45,20)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
save_both(k,df4,Ldf4[0])
model = save_model(k,mm,model)
model
k,df,Ldf,ax = start('12')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
pts = pick_pts(-30,10,5,-8,35,10)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
Dbat['24'] = ut.preprocess(os.path.join(at,'AT_24hpf_24_Probabilities.h5'),param,stop='df_thresh')
Dbzrf['24'] = ut.preprocess(os.path.join(gfap,'Gfap_24hpf_24_Probabilities.h5'),param,stop='df_thresh')
k = '24'
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,p,ax = ut.check_yz(df,Ldf)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
save_both(k,df2,Ldf2[0])
model = save_model(k,mm,model)
k = '28'
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'y')
pts.iloc[0].x = 60
pts.iloc[0].y = 17
ax[0,0].scatter(pts.x,pts.y,c='c')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'y',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
pts = pick_pts(-28,9,0,-3,23,9)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
save_both(k,df4,Ldf4[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('3')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].z = 7
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
pts = pick_pts(-50,22,0,-10,47,20)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
save_both(k,df4,Ldf4[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('10')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = -28
pts.iloc[1].z = 10
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
pts = pick_pts(-58,25,0,-2,45,25)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('27')
df1,Ldf1 = ut.zyswitch(df,Ldf)
ax = ut.make_graph([df1]+Ldf1)
df2,Ldf2,pts,ax = ut.check_pts(df1,Ldf1,'y')
pts
pts.iloc[0].x = -55
pts.iloc[0].y = 10
pts.iloc[1].x = 30
pts.iloc[1].y = 5
ax[0,0].scatter(pts.x,pts.y,c='c')
df3,Ldf3,ax = ut.revise_pts(df1,Ldf1,'y',pts=pts)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3)
pts = pick_pts(-40,9,0,-7,40,11)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df5,Ldf5,mm,ax = ut.ch_vertex(df4,Ldf4,pts=pts)
save_both(k,df5,Ldf5[0])
model = save_model(k,mm,model)
k = '17'
Dbat[k] = ut.preprocess(os.path.join(at,'AT_24hpf_17_Probabilities.h5'),param,stop='df_thresh')
Dbzrf[k] = ut.preprocess(os.path.join(gfap,'Gfap_24hpf_17_Probabilities.h5'),param,stop='df_thresh')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,p,ax = ut.check_yz(df,Ldf)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
pts = pick_pts(-38,16,0,-8,45,16)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2,pts=pts)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('4')
ut.make_graph([df,Dbat[k].df_thresh])
df1,Ldf1,mm,ax = ut.ch_vertex(Dbat[k].df_thresh,[Dbzrf[k].df_thresh])
pts = pick_pts(-55,6,0,-5,52,6)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
save_both(k,df2,Ldf2[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('11')
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
pts = pick_pts(-48,11,-5,-8,36,8)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1,pts=pts)
save_both(k,df2,Ldf2[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('6')
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[1].x = -56
pts.iloc[1].z = 24
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
k = '23'
Dbat[k] = ut.preprocess(os.path.join(at,'AT_24hpf_23_Probabilities.h5'),param,stop='df_thresh')
Dbzrf[k] = ut.preprocess(os.path.join(gfap,'Gfap_24hpf_23_Probabilities.h5'),param,stop='df_thresh')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,p,ax = ut.check_yz(df,Ldf)
df2,Ldf2,mm,ax = ut.ch_vertex(df1,Ldf1)
save_both(k,df2,Ldf2[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('19')
pts = pick_pts(-65,20,0,-10,55,17)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
save_both(k,df1,Ldf1[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('25')
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
p
df2,Ldf2,ax,p = ut.check_yz(df,Ldf,mm=[1,-2.7])
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
save_both(k,df3,Ldf3[0])
model = save_model(k,mm,model)
k,df,Ldf,ax = start('8')
df1,Ldf1,ax,p = ut.check_yz(df,Ldf)
df2,Ldf2,pts,ax = ut.check_pts(df1,Ldf1,'z')
pts.iloc[1].x = 43
pts.iloc[1].z = 25
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df3,Ldf3,ax = ut.revise_pts(df1,Ldf1,'z',pts=pts)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3)
save_both(k,df4,Ldf4[0])
model = save_model(k,mm,model)
model
model.to_csv(os.path.join(outdir,'model.csv'))